/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.jm.acionista.entity;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author joao
 */
@Entity
@Table(name = "procurador", catalog = "acionista", schema = "dbo")
@NamedQueries({
    @NamedQuery(name = "Procurador.findAll", query = "SELECT p FROM Procurador p")})
public class Procurador implements Serializable {
    private static final long serialVersionUID = 1L;
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id_procurador", nullable = false)
    private Integer idProcurador;
    @Basic(optional = false)
    @Column(name = "nom_procurador", nullable = false, length = 40)
    private String nomProcurador;
    @Column(name = "nom_contato", length = 40)
    private String nomContato;
    @Column(name = "dsc_email_procurador", length = 200)
    private String dscEmailProcurador;
    @Column(name = "num_telefone1", length = 30)
    private String numTelefone1;
    @Column(name = "tip_telefone1", length = 1)
    private String tipTelefone1;
    @Column(name = "num_telefone2", length = 30)
    private String numTelefone2;
    @Column(name = "tip_telefone2", length = 1)
    private String tipTelefone2;
    @Column(name = "num_telefone3", length = 30)
    private String numTelefone3;
    @Column(name = "tip_telefone3", length = 1)
    private String tipTelefone3;
    @OneToMany(fetch=FetchType.EAGER)
    private List<Cliente> clienteList;

    public Procurador() {
    }

    public Procurador(Integer idProcurador) {
        this.idProcurador = idProcurador;
    }

    public Procurador(Integer idProcurador, String nomProcurador) {
        this.idProcurador = idProcurador;
        this.nomProcurador = nomProcurador;
    }

    public Integer getIdProcurador() {
        return idProcurador;
    }

    public void setIdProcurador(Integer idProcurador) {
        this.idProcurador = idProcurador;
    }

    public String getNomProcurador() {
        return nomProcurador;
    }

    public void setNomProcurador(String nomProcurador) {
        this.nomProcurador = nomProcurador;
    }

    public String getNomContato() {
        return nomContato;
    }

    public void setNomContato(String nomContato) {
        this.nomContato = nomContato;
    }

    public String getDscEmailProcurador() {
        return dscEmailProcurador;
    }

    public void setDscEmailProcurador(String dscEmailProcurador) {
        this.dscEmailProcurador = dscEmailProcurador;
    }

    public String getNumTelefone1() {
        return numTelefone1;
    }

    public void setNumTelefone1(String numTelefone1) {
        this.numTelefone1 = numTelefone1;
    }

    public String getTipTelefone1() {
        return tipTelefone1;
    }

    public void setTipTelefone1(String tipTelefone1) {
        this.tipTelefone1 = tipTelefone1;
    }

    public String getNumTelefone2() {
        return numTelefone2;
    }

    public void setNumTelefone2(String numTelefone2) {
        this.numTelefone2 = numTelefone2;
    }

    public String getTipTelefone2() {
        return tipTelefone2;
    }

    public void setTipTelefone2(String tipTelefone2) {
        this.tipTelefone2 = tipTelefone2;
    }

    public String getNumTelefone3() {
        return numTelefone3;
    }

    public void setNumTelefone3(String numTelefone3) {
        this.numTelefone3 = numTelefone3;
    }

    public String getTipTelefone3() {
        return tipTelefone3;
    }

    public void setTipTelefone3(String tipTelefone3) {
        this.tipTelefone3 = tipTelefone3;
    }

    public List<Cliente> getClienteList() {
        return clienteList;
    }

    public void setClienteList(List<Cliente> clienteList) {
        this.clienteList = clienteList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idProcurador != null ? idProcurador.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Procurador)) {
            return false;
        }
        Procurador other = (Procurador) object;
        if ((this.idProcurador == null && other.idProcurador != null) || (this.idProcurador != null && !this.idProcurador.equals(other.idProcurador))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "br.jm.acionista.entity.Procurador[ idProcurador=" + idProcurador + " ]";
    }
}
